تأمين الاتصالات عن طريق SSH وإعداد أسماء المضيفات على Red Hat Enterprise Linux
تعد أداة SSH (Secure Shell) من الأدوات الحيوية في عالم إدارة أنظمة التشغيل، خاصة في بيئات الخوادم الحديثة التي تعتمد على إدارة عن بعد. يعد تأمين الاتصالات عبر SSH من أهم الخطوات التي يجب أن يتخذها مديرو الأنظمة لضمان الحفاظ على خصوصية البيانات وحمايتها من التهديدات الأمنية المختلفة. في هذا المقال، سنناقش كيفية تأمين الاتصالات عن طريق SSH على نظام Red Hat Enterprise Linux، بالإضافة إلى كيفية إعداد أسماء المضيفات.
1. مقدمة عن SSH وأهمية تأمينه
SSH هو بروتوكول اتصال آمن يُستخدم للوصول إلى الخوادم عن بعد. يوفر SSH طريقة مشفرة لتبادل البيانات بين العميل والخادم، مما يعزز الأمان ويحمي البيانات من التنصت والتلاعب. يتم استخدامه بشكل شائع للوصول إلى الأنظمة في بيئات العمل الخاصة بتكنولوجيا المعلومات والأنظمة السحابية.
يتضمن تأمين SSH العديد من التدابير مثل: تفعيل المصادقة بواسطة المفاتيح العامة والخاصة، تعطيل تسجيل الدخول باستخدام كلمات المرور، تقييد الوصول باستخدام جدران الحماية، وتخصيص إعدادات ملفات التكوين.
2. الخطوات الأساسية لتأمين SSH
2.1 تغيير المنفذ الافتراضي
من أفضل الممارسات في تأمين SSH هو تغيير المنفذ الافتراضي للاتصال (المنفذ 22). يؤدي ذلك إلى تقليل احتمالية الهجمات التي تستهدف المنفذ الافتراضي.
لتغيير المنفذ، يمكن تعديل إعدادات SSH في ملف التكوين الخاص به (/etc/ssh/sshd_config):
bashsudo vi /etc/ssh/sshd_config
ثم ابحث عن السطر الذي يحتوي على:
bash#Port 22
وغيره إلى رقم منفذ آخر (مثلاً 2222):
yamlPort 2222
بعد ذلك، قم بإعادة تشغيل خدمة SSH لتطبيق التغييرات:
bashsudo systemctl restart sshd
2.2 تعطيل تسجيل الدخول باستخدام كلمات المرور
من الطرق الفعالة لتأمين SSH هو تعطيل تسجيل الدخول باستخدام كلمات المرور، والاعتماد على المفاتيح العامة والخاصة فقط. يساهم ذلك في تقليل فرصة تعرض النظام للهجوم باستخدام تقنيات مثل هجوم القوة العمياء.
لتفعيل ذلك، قم بتعديل الملف /etc/ssh/sshd_config:
bashsudo vi /etc/ssh/sshd_config
ابحث عن السطر التالي:
shell#PasswordAuthentication yes
ثم قم بتغييره إلى:
nginxPasswordAuthentication no
بعد حفظ التغييرات، قم بإعادة تشغيل خدمة SSH:
bashsudo systemctl restart sshd
2.3 استخدام المفاتيح العامة والخاصة للمصادقة
لإعداد المصادقة باستخدام المفاتيح العامة والخاصة، يجب أن يتم توليد مفتاح SSH على الجهاز المحلي:
bashssh-keygen -t rsa -b 2048
بعد ذلك، قم بنقل المفتاح العام إلى الخادم باستخدام الأداة ssh-copy-id:
bashssh-copy-id -i ~/.ssh/id_rsa.pub user@server_ip
سيسمح هذا لك بالاتصال بالخادم بدون الحاجة إلى إدخال كلمة مرور، حيث يستخدم النظام المفاتيح العامة والخاصة للتحقق من هوية المستخدم.
2.4 تقييد الوصول للمستخدمين
يمكنك تقييد وصول مستخدمين محددين إلى SSH. للقيام بذلك، قم بتعديل ملف التكوين /etc/ssh/sshd_config وأضف السطر التالي:
nginxAllowUsers user1 user2
يمكنك تحديد مجموعة من المستخدمين المسموح لهم بالوصول إلى النظام عبر SSH فقط.
2.5 تمكين جدار الحماية وتحديد قواعد الوصول
يجب تكوين جدار الحماية لتقييد الوصول إلى خادم SSH من عناوين IP موثوقة فقط. في Red Hat Enterprise Linux، يتم استخدام أداة firewalld لإدارة جدار الحماية. لتحديد قواعد الوصول، يمكن استخدام الأوامر التالية:
-
لتمكين الوصول فقط من عنوان IP محدد:
bashsudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="your_ip_address" port protocol="tcp" port="2222" accept' --permanent
-
لتحديث التغييرات:
bashsudo firewall-cmd --reload
3. إعداد أسماء المضيفات
3.1 مفهوم أسماء المضيفات
أسماء المضيفات هي تسميات تُستخدم لتحديد الأجهزة والخوادم داخل الشبكة. يمكن لهذه الأسماء أن تكون أكثر من مجرد تسميات سهلة لتذكر العناوين IP. استخدام أسماء المضيفات يسهل الوصول إلى الأنظمة وإدارتها.
3.2 تكوين أسماء المضيفات في Red Hat Enterprise Linux
لتحديد اسم المضيف في نظام Red Hat Enterprise Linux، يجب تعديل الملف /etc/hostname:
bashsudo vi /etc/hostname
ثم قم بإدخال الاسم الذي ترغب في تخصيصه للنظام. على سبيل المثال:
nginxmyserver
بعد حفظ التغييرات، قم بتطبيق الاسم الجديد باستخدام الأمر التالي:
bashsudo hostnamectl set-hostname myserver
3.3 إعداد /etc/hosts
لتكوين الربط بين عناوين IP وأسماء المضيفات، يمكن تعديل الملف /etc/hosts:
bashsudo vi /etc/hosts
ثم أضف السطور التالية:
127.0.0.1 localhost 127.0.1.1 myserver
هنا، يتم ربط عنوان IP المحلي (127.0.1.1) بالاسم الذي اخترته للمضيف (myserver).
4. مراقبة وصيانة الأمان على SSH
4.1 مراقبة السجلات
من المهم مراقبة سجلات الدخول لتحديد أي محاولات غير مصرح بها للوصول إلى النظام. يمكنك التحقق من سجلات SSH في /var/log/secure على سبيل المثال:
bashsudo tail -f /var/log/secure
يجب الانتباه إلى أي محاولات فاشلة للدخول عبر SSH أو محاولات الوصول إلى المنفذ غير المصرح به.
4.2 استخدام أداة fail2ban
أداة fail2ban هي أداة فعالة لحماية الخوادم من هجمات القوة العمياء عبر SSH. تقوم هذه الأداة بحظر عنوان IP بعد عدة محاولات فاشلة لتسجيل الدخول.
لتثبيت fail2ban على Red Hat Enterprise Linux:
bashsudo dnf install fail2ban
بعد التثبيت، يمكنك تفعيل الخدمة:
bashsudo systemctl enable fail2ban
sudo systemctl start fail2ban
5. تحديث النظام والتأكد من الأمان
من الخطوات الأساسية للحفاظ على أمان النظام هو التأكد من تحديث البرمجيات بشكل دوري. يمكنك استخدام الأوامر التالية لتحديث النظام على Red Hat Enterprise Linux:
bashsudo dnf update
تأكد من تحديث حزم النظام بشكل دوري لضمان إصلاح الثغرات الأمنية.
6. خاتمة
تأمين SSH وإعداد أسماء المضيفات هما جزء أساسي من صيانة أمان الأنظمة على Red Hat Enterprise Linux. من خلال تطبيق الممارسات الأمنية الموصى بها، مثل تغيير المنفذ الافتراضي، تعطيل كلمات المرور، استخدام المفاتيح العامة والخاصة، ومراقبة الدخول، يمكن تقليل مخاطر الهجمات على الخوادم. بالإضافة إلى ذلك، فإن تكوين أسماء المضيفات بشكل صحيح يعزز من سهولة إدارة النظام ويوفر طرقًا منظمة للوصول إلى الخوادم في بيئة الشبكة.

